source("global.R")
display_x  <- panimmune_data$sample_selection_choices[1]
display_y  <- panimmune_data$cell_content_choices[1]
internal_x <- get_variable_internal_name(display_x)
internal_y <- get_variable_internal_name(display_y)
plot_df <- panimmune_data$df %>% 
    select_(.dots = c(internal_x, internal_y)) %>% 
    .[complete.cases(.),]
plot <- create_violinplot(
    plot_df,
    internal_x,
    internal_y,
    internal_x,
    xlab = display_x,
    ylab = display_y,
    fill_colors = decide_plot_colors(panimmune_data, internal_x)
)
plot
pal <- c(C1 = "red", C2 = "yellow", C3 = "green", C4 = "cyan", C5 = "blue", C6 = "magenta")
plot_df %>% 
    plot_ly(
        x = ~Subtype_Immune_Model_Based,
        y = ~leukocyte_fraction,
        split = ~Subtype_Immune_Model_Based,
        color = ~Subtype_Immune_Model_Based,
        colors = pal,
        type = 'violin',
        box = list(
            visible = T
        ),
        meanline = list(
            visible = T
        )
    )
let(
   alias = c(
       xvar = "leukocyte_fraction",
       yvar = "Dendritic_cells.Aggregate2"
   ),
    plot_df %>% 
        plot_ly(
            x = ~xvar,
            y = ~yvar
    ) %>% 
       layout(
           title = "C6",
           xaxis = "Leukocyte Fraction",
           yaxis = "Macrophages"
       )
)
No trace type specified:
  Based on info supplied, a 'scatter' trace seems appropriate.
  Read more about this trace type -> https://plot.ly/r/reference/#scatter
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plot.ly/r/reference/#scatter-mode
Error: $ operator is invalid for atomic vectors
LS0tCnRpdGxlOiAiVGVzdGluZyB2YXJpb3VzIHBsb3QgZnVuY3Rpb25zIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7cn0Kc291cmNlKCJnbG9iYWwuUiIpCmBgYAoKYGBge3J9CmRpc3BsYXlfeCAgPC0gcGFuaW1tdW5lX2RhdGEkc2FtcGxlX3NlbGVjdGlvbl9jaG9pY2VzWzFdCmRpc3BsYXlfeSAgPC0gcGFuaW1tdW5lX2RhdGEkY2VsbF9jb250ZW50X2Nob2ljZXNbMV0KaW50ZXJuYWxfeCA8LSBnZXRfdmFyaWFibGVfaW50ZXJuYWxfbmFtZShkaXNwbGF5X3gpCmludGVybmFsX3kgPC0gZ2V0X3ZhcmlhYmxlX2ludGVybmFsX25hbWUoZGlzcGxheV95KQoKcGxvdF9kZiA8LSBwYW5pbW11bmVfZGF0YSRkZiAlPiUgCiAgICBzZWxlY3RfKC5kb3RzID0gYyhpbnRlcm5hbF94LCBpbnRlcm5hbF95KSkgJT4lIAogICAgLltjb21wbGV0ZS5jYXNlcyguKSxdCgpwbG90IDwtIGNyZWF0ZV92aW9saW5wbG90KAogICAgcGxvdF9kZiwKICAgIGludGVybmFsX3gsCiAgICBpbnRlcm5hbF95LAogICAgaW50ZXJuYWxfeCwKICAgIHhsYWIgPSBkaXNwbGF5X3gsCiAgICB5bGFiID0gZGlzcGxheV95LAogICAgZmlsbF9jb2xvcnMgPSBkZWNpZGVfcGxvdF9jb2xvcnMocGFuaW1tdW5lX2RhdGEsIGludGVybmFsX3gpCikKcGxvdApgYGAKCgoKCmBgYHtyfQpwYWwgPC0gYyhDMSA9ICJyZWQiLCBDMiA9ICJ5ZWxsb3ciLCBDMyA9ICJncmVlbiIsIEM0ID0gImN5YW4iLCBDNSA9ICJibHVlIiwgQzYgPSAibWFnZW50YSIpCnBsb3RfZGYgJT4lIAogICAgcGxvdF9seSgKICAgICAgICB4ID0gflN1YnR5cGVfSW1tdW5lX01vZGVsX0Jhc2VkLAogICAgICAgIHkgPSB+bGV1a29jeXRlX2ZyYWN0aW9uLAogICAgICAgIHNwbGl0ID0gflN1YnR5cGVfSW1tdW5lX01vZGVsX0Jhc2VkLAogICAgICAgIGNvbG9yID0gflN1YnR5cGVfSW1tdW5lX01vZGVsX0Jhc2VkLAogICAgICAgIGNvbG9ycyA9IHBhbCwKICAgICAgICB0eXBlID0gJ3Zpb2xpbicsCiAgICAgICAgYm94ID0gbGlzdCgKICAgICAgICAgICAgdmlzaWJsZSA9IFQKICAgICAgICApLAogICAgICAgIG1lYW5saW5lID0gbGlzdCgKICAgICAgICAgICAgdmlzaWJsZSA9IFQKICAgICAgICApCiAgICApCmBgYAoKYGBge3J9CnBsb3RfZGYgPC0gcGFuaW1tdW5lX2RhdGEkZGYgJT4lIAogICAgY3JlYXRlX3NjYXR0ZXJwbG90X2RmKAogICAgICAgICJTdWJ0eXBlX0ltbXVuZV9Nb2RlbF9CYXNlZCIsCiAgICAgICAgIkM0IiwKICAgICAgICAiRGVuZHJpdGljX2NlbGxzLkFnZ3JlZ2F0ZTIiLAogICAgICAgICJsZXVrb2N5dGVfZnJhY3Rpb24iCiAgICApCgpoZWFkKHBsb3RfZGYpCmBgYAoKYGBge3J9CmxldCgKICAgYWxpYXMgPSBjKAogICAgICAgeHZhciA9ICJsZXVrb2N5dGVfZnJhY3Rpb24iLAogICAgICAgeXZhciA9ICJEZW5kcml0aWNfY2VsbHMuQWdncmVnYXRlMiIKICAgKSwKICAgIHBsb3RfZGYgJT4lIAogICAgICAgIHBsb3RfbHkoCiAgICAgICAgICAgIHggPSB+eHZhciwKICAgICAgICAgICAgeSA9IH55dmFyCiAgICApICU+JSAKICAgICAgIGxheW91dCgKICAgICAgICAgICB0aXRsZSA9ICJDNiIsCiAgICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIkxldWtvY3l0ZSBGcmFjdGlvbiIpLAogICAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJNYWNyb3BoYWdlcyIpCiAgICAgICApCikKYGBgCgo=